package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.Information;
import cn.wolfcode.trip.base.domain.User;
import cn.wolfcode.trip.base.query.InformationQuery;
import cn.wolfcode.trip.base.query.MessageQuery;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * IMessageService class
 *
 * @author lishuanwang
 * @date 2019/5/30
 */
public interface IInformationService {
    /**
     * 添加一条消息
     * @param information: 消息记录
     */
    void save(Information information);

    void saveUserInformation(Information information, User user);

    /**
     * 获取所有的消息,分页
     * @return pageinfo,分页消息
     */
    PageInfo<Information> listAll(InformationQuery qo);

    int getUnReadInfoNums(Long userId, Integer type);

    /**
     * 通过用户的id,查询所有的信息,分页
     * @param qo
     * @return
     */
    PageInfo<Map> listInfoByUserId(MessageQuery qo);

    /**
     * 用户读取消息的接口
     * @param userId:用户的id
     * @param inforId:信息的id
     */
    int readInfo(Long userId, Long inforId);

    /**
     * 获取一条信息
     */
    Information getOneInformation(Long userId, Long inforId);

    PageInfo<Map> listForInfo(InformationQuery qo) ;

    /**
     * 批量更新消息的已读
     * @param qo
     */
    void batchUpdateInfoRead(InformationQuery qo);
}
